package org.keyyond.ms.business.util;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.keyyond.ms.core.util.DateUtil;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

/**
 * @author YCR
 * @belong to Shccs
 * @date:2018年1月23日
 * @date:2018年1月23日
 * @version : V1.0
 */
@Component
public class Redis {
	
	RedisTemplate<String, Object> template = null;
	
	public Redis(RedisTemplate<String, Object> redisTemplate) {
		this.template = redisTemplate;
	}
	
	/**
	 * 增加验证码的redis
	 * @author YCR
	 * @param 手机号
	 * @param 验证码类型
	 * @param 验证码
	 * @return void
	 * @throws
	 */
	public void addRedis(String id, String type, String value) {
		String date = DateUtil.formatDateTime(new Date());
		template.opsForValue().set("REDIS_${" + id + "}_CODE_${"+type+"}", value);
		template.opsForValue().set("REDIS_${" + id + "}_CODE_${" + type + "}_TIME", date);
	}
	
	/**
	 * 删除redis
	 * @author YCR
	 * @param
	 * @return void
	 * @throws
	 */
	public void delRedis(String id, String type) {
		template.delete("REDIS_${" + id + "}_CODE_${" + type + "}");
		template.delete("REDIS_${" + id + "}_CODE_${" + type + "}_TIME");
	}
	
	/**
	 * 获取redis
	 * @author YCR
	 * @param 手机号
	 * @param 验证码类型
	 * @return Map<String,String>
	 * @throws
	 */
	public Map<String, String> getRedis(String id, String type) {
		Map<String, String> redisMap = new HashMap<String, String>();
		String code = template.opsForValue().get("REDIS_${" + id + "}_CODE_${" + type + "}").toString();
		String date = template.opsForValue().get("REDIS_${" + id + "}_CODE_${" + type + "}_TIME").toString();
		redisMap.put("code", code);
		redisMap.put("date", date);
		return  redisMap;
	}

}
